您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

组播流量的转发方法及装置

  • 申请号:CN201010225833.X 申请公布号: CN102316016B
  • 申请日: 2010-07-05 申请公布日: 2014-12-31
  • 申请(专利权)人: 专利代理机构: 北京同立钧成知识产权代理有限公司
  • 分类号:H04L12/761

专利介绍

本发明实施例提供一种组播流量的转发方法及装置,方法包括:接收第三组播加入消息;响应所述第三组播加入消息,向第一上游路由设备发送第一组播加入消息,并建立主用路径;响应所述第三组播加入消息,向第二上游路由设备发送第二组播加入消息,并建立备用路径;通过所述主用路径发送组播流量到所述组播接收者,所述备用路径不转发所述组播流量。上述实施例通过预先建立不转发组播流量的备用路径,使得在主用路径发生故障时,能够利用预先建立的备用路径转发组播流量,由于备用路径在主用路径正常转发组播流量时不转发组播流量,所以不会占用双倍的网络带宽,从而可以节省网络带宽。
1.一种组播流量的转发方法,其特征在于,包括:第三路由设备接收第三组播加入消息;所述第三路由设备响应所述第三组播加入消息,向第一上游路由设备发送第一组播加入消息,并建立主用路径;所述第三路由设备响应所述第三组播加入消息,向第二上游路由设备发送第二组播加入消息,并建立备用路径,其中,所述第二组播加入消息为协议无关组播PIM加入报文,所述第二组播加入消息中携带加入属性,所述加入属性包括属性类型,所述属性类型用于标识所述属性为备份加入;所述第三路由设备通过所述主用路径发送组播流量到所述组播接收者,所述备用路径不转发所述组播流量。
2.根据权利要求1所述的方法,其特征在于,还包括:当所述主用路径发生故障时,通过所述备用路径转发所述组播流量。
3.根据权利要求2所述的方法,其特征在于,所述第二组播加入消息包含用于标识所述备用路径所保护的主用路径的树的标识的主用路径信息,所述当所述主用路径发生故障时,通过所述备用路径转发所述组播流量包括:当所述主用路径发生故障时,备用路径上的路由设备根据获取到的主用路径的故障信息中携带的主入接口的标识,确定对应的备份出接口,通过所述备份出接口转发所述组播流量。
4.根据权利要求2所述的方法,其特征在于,所述第一组播加入消息包含用于标识所述备用路径所保护的主用路径的主入接口信息的主用路径信息,所述当所述主用路径发生故障时,通过所述备用路径转发所述组播流量包括:当所述主用路径发生故障时,备用路径上的根节点路由设备根据获取到的主用路径的故障信息中携带的树的标识,确定对应的备份出接口,通过所述备份出接口转发所述组播流量。
5.一种组播流量的转发装置,其特征在于,包括:接收模块,用于接收第三组播加入消息;第一响应模块,用于响应所述第三组播加入消息,向第一上游路由设备发送第一组播加入消息,并建立主用路径;第二响应模块,用于响应所述第三组播加入消息,向第二上游路由设备发送第二组播加入消息,并建立备用路径,其中,所述第二组播加入消息为协议无关组播PIM加入报文,所述第二组播加入消息中携带加入属性,所述加入属性包括属性类型,所述属性类型用于标识所述属性为备份加入;发送模块,用于通过所述主用路径发送组播流量到所述组播接收者,所述备用路径不用于转发所述组播流量。
6.根据权利要求5所述的装置,其特征在于,还包括转发模块,用于当所述主用路径发生故障时,通过所述备用路径转发所述组播流量。技术领域
本发明实施例涉及通信技术,尤其涉及一种组播流量的转发方法及装置。
背景技术
快速重路由(Fastxa0Re-Route,简称FRR)是一种网络容错策略,它可以对链路或节点进行保护,当链路或节点发生故障时可迅速切换,最大限度地减少报文丢失。单播的IPxa0FRR为IP路由协议生成优选路由(主路由)和相应的备份路由,以便主用路径发生故障时,IP流量则可以切换到备用路径进行转发。组播的协议无关组播(Protocolxa0IndependentMulticast,简称PIM)FRR为利用单播的IPxa0FRR或者静态配置备用路径,主用路径与备用路径同时转发组播流量,以便主用路径发生故障时,组播流量则可以切换到备用路径进行转发。在实现本发明过程中,发明人发现现有技术中至少存在如下问题:由于主用路径与备用路径同时转发组播流量,从而浪费了网络带宽。
发明内容
本发明实施例提供一种组播流量的转发方法及装置,用以解决现有技术中由于主用路径与备用路径同时转发组播流量导致的网络带宽的浪费的问题,节省网络带宽。本发明实施例提供了一种组播流量的转发方法,包括:接收第三组播加入消息;响应所述第三组播加入消息,向第一上游路由设备发送第一组播加入消息,并建立主用路径;响应所述第三组播加入消息,向第二上游路由设备发送第二组播加入消息,并建立备用路径;通过所述主用路径发送组播流量到所述组播接收者,所述备用路径不转发所述组播流量。本发明实施例还提供了一种组播流量的转发装置,包括:接收模块,用于接收第三组播加入消息;第一响应模块,用于响应所述第三组播加入消息,向第一上游路由设备发送第一组播加入消息,并建立主用路径;第二响应模块,用于响应所述第三组播加入消息,向第二上游路由设备发送第二组播加入消息,并建立备用路径;发送模块,用于通过所述主用路径发送组播流量到所述组播接收者,所述备用路径不转发所模块,用于述组播流量。由上述技术方案可知,本发明实施例通过预先建立不转发组播流量的备用路径,使得在主用路径发生故障时,能够利用预先建立的备用路径转发组播流量,由于备用路径在主用路径正常转发组播流量时不转发组播流量,所以不会占用双倍的网络带宽,从而节省了网络带宽。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的组播流量的转发方法的流程示意图;图2A为本发明另一实施例提供的网络拓扑结构简化示意图;图2B为本发明另一实施例提供的组播流量的转发方法的流程示意图;图3为本发明又一实施例网络拓扑结构示意图,为典型的环网拓扑结构简化示意图;图4A为本发明再一实施例提供的网络拓扑结构简化示意图;图4B为本发明再一实施例提供的组播流量的转发方法的流程示意图;图5为本发明实施例提供的组播流量的转发装置的结构示意图;图6为本发明另一实施例提供的组播流量的转发装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例提供的组播流量的转发方法的流程示意图,如图1所示,本实施例的组播流量的转发方法可以包括:101、接收第三组播加入消息;102、响应上述第三组播加入消息,向第一上游路由设备发送第一组播加入消息,并建立主用路径;103、响应上述第三组播加入消息,向第二上游路由设备发送第二组播加入消息,并建立备用路径;104、通过上述主用路径发送组播流量到上述组播接收者,上述备用路径不转发上述组播流量。上述方法还可以包括:105、当上述主用路径发生故障时,通过上述备用路径转发上述组播流量。举例来说,上述方法中接收第三组播加入消息的是主用路径和备用路径的发起节点。举例来说,若第二上游路由设备不存在对应的组播表项,则第二上游路由设备是备用路径的中间节点,上述第二上游路由设备则继续向其上游的路由设备发送第二组播加入消息’,举例来说,第二组播加入消息’与第二组播加入消息的区别包括上游邻居路由设备的地址不同和源地址不同。再举例来说,当第二上游路由设备还是其他备用路径的中间节点时,第二组播加入消息’与第二组播加入消息的区别还包括第二组播加入消息’携带的主用路径信息不仅包括第二组播加入消息携带的主用路径信息,还包括其他备份加入报文携带的主用路径信息。若第二上游路由设备存在因为收到其他备份组播加入消息而建立的表项,则上述第二上游路由设备更新表项信息,携带所有备份组播加入消息中的主用路径信息,向其上游的路由设备发送第二组播加入消息’。举例来说,中间路由节点需要将备份组播加入消息直至发送到组播树的根节点,例如源指定路由设备(Designatedxa0Router,DR)或集合点(Rendezvous,RP),或者直至发送到主用路径和备用路径的汇聚节点。举例来说,上述第三组播加入消息可以为互联网组管理协议(InternetGroupxa0Managementxa0Protocol,IGMP)成员报告、组播监听者发现(MulticastListenerxa0Discovery,MLD)成员报告、PIM加入报文等。举例来说,上述第一组播加入消息和第二组播加入消息可以是PIM加入报文。举例来说,上述第二组播加入消息可以是普通的PIM加入报文;也可以包含主用路径信息。主用路径信息用于标识上述备用路径所保护的主用路径的主入接口信息,可以是备用路径发起节点的主入接口的标识(例如:IP地址);或者是备用路径发起节点的主入接口的标识与其上游的一个或多个路由设备的主入接口的标识组成的标识列表。其中,上述标识列表可以静态配置,还可以通过其他途径获取。上述主用路径信息标识备用路径所保护的主用路径上的主入接口或主入接口列表。备用路径上的路由设备接收到携带主用路径信息的第二组播加入消息后,记录该主用路径信息,举例来说,可以记录在备用路径上路由设备的出接口上。当第二组播加入消息中包含的任意一个主入接口的标识对应的主入接口故障,则可以通过上述备用路径转发组播流量从而实现路径保护。举例来说,在某些情况下,若备用路径保护的主入接口数量很大,会导致备份加入报文中携带的主用路径信息太多,从而加重路由设备的负担,对于这种问题,可以根据PIM加入报文以及加入报文中的主用路径信息变化增量发送更新,而不是周期性发送,减少报文的交互。举例来说,上述第一组播加入消息可以是普通的PIM加入报文。又例如,第一组播加入消息可以携带上述主用路径信息。上述实施例通过预先建立不转发组播流量的备用路径,使得在主用路径发生故障时,能够利用预先建立的备用路径转发组播流量,由于备用路径在主用路径正常转发组播流量时不转发组播流量,所以不会占用双倍的网络带宽,从而可以节省网络带宽。图2A为本发明另一实施例提供的网络拓扑结构简化示意图,路由设备RTD是备用路径发起点,也是主用路径发起点。路由设备RTE是备用路径上RTD的上游路由设备,是中间节点。路由设备RTA是备用路径上RTE的上游路由设备,是备用路径的终止节点。路由设备RTC是主用路径上RTD的上游的路由设备。路由设备RTB是主用路径上RTC的上游路由设备。作为备用路径终止节点的路由设备RTA也在主用路径上,RTA是主用路径和备用路径的汇聚节点。图2B为本发明另一实施例提供的组播流量的转发方法的流程示意图,该方法基于图2A所示的网络拓扑。如图2B所示,本实施例的组播流量的转发方法可以包括:201~206、RTD接收第三组播加入消息,发送第一组播加入消息和第一组播加入消息’直到RTA;举例来说,第一组播加入消息可以是普通的PIM加入报文,可以按照现有技术中的流程,建立主用路径,利用主用路径转发组播流量,此处不再赘述。再举例来说,第一组播加入消息可以携带新增加入属性,例如主用路径信息。举例来说,第一组播加入消息’和第一组播加入消息的区别包括上游邻居有设备的地址不同和源地址不同。209、RTD向RTE发送第二组播加入消息,第二组播加入消息包含主用路径信息,举例来说,主用路径信息包含RTD、RTC、RTB的主入接口的标识;上述包含主用路径信息的第二组播加入消息可以在RFC5384定义的PIM加入报文中新定义一个加入属性实现,上述加入属性可以包含于PIM加入报文中的源地址中。上述加入属性的格式可以如下所示:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|F|E|Attr_Typexa0|xa0xa0xa0xa0Lengthxa0xa0xa0xa0|xa0xa0xa0xa0Flagsxa0xa0xa0xa0|xa0xa0xa0xa0Pathxa0Countxa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Pathxa0xa0xa0xa0IDxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0......xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Pathxa0xa0xa0xa0IDxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+其中,标志位F、标志位E、属性类型(Attr_Type)、长度(Length)都使用协议标准定义,此处不再赘述。Attr_Type标识此属性为备份加入;标志位Flags为此属性的内容,举例来说,可以只使用一位,由1代表PIM备份加入;Pathxa0Count标识Pathxa0ID的数量;Pathxa0ID标识主用路径信息,一般为备用路径所保护的主用路径对应的路由设备的组播表项主入接口的标识(例如:IP地址)。举例来说,根据RFC5384规范定义,路由设备在发送包含备份加入属性的PIM加入报文之前,需要先与邻居协商是否支持处理PIM备份加入属性。此协商采用路由设备周期性的PIMxa0Hello报文,若邻居路由设备发送的Hello报文中不包含此PIM扩展属性的Hello选项,则不继续发送包含加入属性的PIM加入报文。上述PIM扩展属性的Hello选项的格式可以如下所示:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0OptionTypexa0xa0xa0xa0xa0xa0xa0xa0xa0|xa0xa0xa0xa0xa0xa0xa0xa0OptionLengthxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0OptionValuexa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+举例来说,选项类型(OptionType)标识此Hello选项为新定义的PIM备份加入属性Hello选项;选项长度(OptionLength)标识此Hello选项的长度,单位为字节,目前此hello选项的长度固定为8个字节;选项数值(OptionValue)为8个字节的预留长度,目前暂未使用,发送时设置为0。211、RTE判断不存在收到第二组播加入消息创建的组播表项,则继续向RTA发送包含主用路径信息的第二组播加入消息’,如果RTA判断存在收到第二组播加入消息而创建的组播表项,则不再继续向上游的路由设备发送组播加入消息。至此,上述备用路径建立完毕。主用路径正常(未出现故障)的情况下,上述备用路径上的路由设备均不通过备份接口转发组播流量。213、当RTB与RTC之间的链路发生故障,RTC可以通过故障检测技术检测到上游链路故障,获知主用路径的故障信息;可替换地,当RTB与RTC之间的链路发生故障,RTB也可以通过故障检测技术检测到下游链路故障,获知主用路径的故障信息。举例来说,可以采用双向转发检测(Bidirectionalxa0Forwardingxa0Detection,简称BFD)技术检测链路故障。215、RTC根据故障链路对应的主入接口的标识(例如:IP地址),发送主用路径的故障信息,故障信息中包含故障链路对应的主入接口的标识,即向上述备用路径上的路由设备RTD、RTE和RTA发送上述主用路径的故障信息;可替换地,RTB根据故障链路对应的主入接口的标识(例如:IP地址),向上述备用路径上的RTA发送上述主用路径的故障信息,故障信息中包含故障链路对应的下游路由设备的主入接口的标识,即对端路由设备RTC的主入接口的标识。RTC或RTB向上述备用路径上的路由设备RTD、RTE和RTA发送上述主用路径的故障信息。本步骤中,可以通过如下A-C方式中的任意一种方式向上述备用路径上的路由设备RTD、RTE和RTA发送上述主用路径的故障信息:A、RTC或RTB向整个网络中的路由设备泛洪上述主用路径的故障信息;举例来说,主用路径的故障信息可以在通过配置了故障检测与传递的接口在整网中泛洪,由于备用路径上的路由设备之前获取到了第二组播加入消息(备份加入报文)中的主用路径信息,因此可以根据故障信息中包含的故障链路对应的主入接口的标识,确定该主入接口对应的备份出接口,通过该备份出接口转发组播流量,这样保证故障链路的组播流量能够从备用路径转发。B、RTC根据预先设置的故障传递策略,通过所有主出接口,或者在其他网络拓扑中是备份入接口,发送上述主用路径的故障信息到备用路径上的路由设备RTD、RTE和RTA,接收到故障信息的路由设备根据故障链路对应的主入接口确定对应的备份出接口,通过该备份出接口转发组播流量。举例来说,考虑到各种不同的网络拓扑结构,路由设备RTC、RTD、RTE和RTA传递上述主用路径的故障信息的传递规则可以如下所示:若从主入接口接收到故障信息,且路由设备存在备份入接口且备份入接口没有收到过故障,则将故障向备份入接口传递,否则故障向所有出接口传递;若从备份出接口接收到故障信息,则通过主入接口传递故障信息,同时备份出接口转发组播流量。若从主出接口收到故障信息,不处理,故障信息的传递中止。若从备份入接口收到故障信息,若主入接口没有收到故障信息,故障信息的传递中止,否则通过所有出接口传递故障信息。举例来说,RTC通过主出接口向RTD传递故障信息;RTD从主入接口收到故障信息,且存在备份入接口,则通过备份入接口向RTE传递故障信息。RTE从备份出接口收到故障信息,打开收到故障信息的备份出接口并转发流量,继续通过备用路径上的主入接口向RTA传递故障信息。RTA从备份出接口收到故障信息以后,打开收到故障信息的备份出接口并转发流量,继续通过主入接口向上传递,直到传递到与源直连的路由设备或传递到主出接口,故障传递中止。C、RTB根据预先设置的故障传递策略,通过主入接口向上游发送上述主用路径的故障信息,以供备用路径与主用路径的汇聚点,即路由设备RTA打开备份出接口转发组播流量。举例来说,RTB根据故障接口的标识,通过主入接口向RTA发送故障信息,RTA根据故障信息中携带的主入接口的标识确定对应的备份出接口,通过该备份出接口发送组播流量。可选地,然后继续朝入接口方向传递直到与源直连的路由设备或者主出接口。举例来说,对于存在多个与源直连的路由设备的情况,当故障信息传递到一个与源直连的路由设备,需要将此故障信息继续传递到其他与源直连的路由设备,打开备份出接口。C方式适用于备用路径的终节点也在对应的主用路径上的场景,或者适用于备用路径的终节点也在与源直连的路由设备上的场景。这种场景下,在主用路径未发生故障时,可选地,如果只使得备用路径终止点的路由设备的备份出接口不转发流量,也可以实现备用路径不转发流量。举例来说,上述各种例子中,发送故障信息传递可以通过扩展故障检测协议来实现,可以增加源地址以及故障接口即主入接口的标识信息,以BFD协议为例,协议需要扩展如下所示:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Versxa0|xa0xa0xa0Diagxa0xa0xa0|Sta|P|F|C|A|D|M|xa0xa0xa0Detectxa0Multxa0|xa0xa0xa0xa0Lengthxa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Myxa0Discriminatorxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Yourxa0Discriminatorxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Desiredxa0Minxa0TXxa0Intervalxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Requiredxa0Minxa0RXxa0Intervalxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Requiredxa0Minxa0Echoxa0RXxa0Intervalxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0Typexa0xa0xa0xa0|xa0xa0xa0xa0Lengthxa0xa0xa0xa0|xa0xa0xa0xa0xa0xa0xa0xa0Faultxa0Indicationxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Pathxa0IDxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+其中,通过定义BFD报文的新的版本号(在Vers字段)或M比特来标识这是一个扩展BFD报文。在消息体中,Type为类型定义;Length为扩展部分的长度;Faultxa0Indication为故障原因,目前暂未使用;Pathxa0ID表示故障链路的下游路由器的主入接口的标识;其他部分内容编码格式根据RFC5880标准定义。217、RTD、RTE和RTA根据获知的主用路径的故障信息,利用备用路径转发组播流量。举例来说,RTD、RTE和RTA的备份出接口打开的规则是:由于故障信息中包含故障链路对应的主入接口的标识,查找所有的组播表项确定对应该主入接口的标识的备份出接口,通过该备份出接口转发组播流量;若故障信息中没有包含任何主入接口的标识,则打开所有组播表项的所有组播备份出接口转发组播流量。举例来说,RTA根据获知的主用路径的故障信息,通过备份出接口转发组播流量。RTE根据获知的主用路径的故障信息,通过备份出接口转发上述组播流量。RTD根据获知的主用路径的故障信息,通过备份入接口接收上述组播流量。可选地,判断RTD是否通过主用路径的主入接口接收组播流量,若RTD未通过主用路径的主入接口接收组播流量,则继续将备份入接口接收到的流量向下转发。举例来说,若RTB与RTC之间的链路没有发生故障,而是网络中其他链路的故障信息并且携带了RTC主入接口的链路标识传递到图2A所示的拓扑中,也会导致组播流量沿备用路径RTA-RTE-RTD转发,此时RTD检测到备份入接口的组播流量,但是主入接口还存在组播流量,则可以不进行切换,并向备用路径上的路由设备RTD、RTE和RTA发送剪枝报文,拆除备用路径,可以及时终止错误转发的备份流量。延时之后,根据上述实施例的方法重新建立备份路径。举例来说,若是保护的主入接口减少,则路由设备发送剪枝报文,发送的剪枝报文中携带减少的主用路径信息,以更新备份出接口对应的主入接口信息。又例如,若是不再需要某一备用路径,则发送的剪枝报文可以不携带任何主用路径信息。上游路由设备收到上述剪枝报文,拆除对应的备份路径。图3为本发明又一实施例网络拓扑结构示意图,为典型的环网拓扑结构简化示意图。正常情况下,环上的每个路由设备都可以收到组播加入消息,可以利用主用路径(实线标识)转发组播流量;并逆向传递包含加入属性的备份加入报文,建立备用路径(虚线标识)。举例来说,可以静态指定备用路径发起点的备份入接口,也可以根据单播的IPxa0FRR算法生成备用路径发起点的备份入接口,备份路径从备份路径的发起节点到组播根节点或主用路径与备用路径的汇聚节点。当环上RTA与RTB之间的链路发生故障,RTA获知主出接口故障,向上游路由设备发送故障信息,图3所示示例的网络拓扑中由于RTA没有与其他路由设备相连,后面不再描述。RTB获知主入接口的故障信息,发送通知主用路径的故障信息,举例来说,可以向整个网络泛洪故障信息。故障信息沿RTC-RTD-RTE-RTF传递,故障信息中包含了RTB的主入接口标识。RTB设置为可以通过朝RTC的备份入接口转发流量。RTC接收到上述故障信息后,感知RTB主用路径故障,打开朝RTB的备份出接口,同时发现故障信息中的主入接口标识为自己到组播源的路径上的一个主入接口,设置为可以通过朝RTD的备份入接口转发流量。RTD接收到故障信息,打开故障信息对应的备份出接口,通过该备份出接口转发流量。RTE接收到故障信息,由于没有收到包含RTB、RTC主用路径信息的备份加入,所以不进行路径倒换。最终组播流量由RTD转发给RTC,然后转发给RTB。图4A为本发明再一实施例提供的网络拓扑结构简化示意图,RTD、RTE是备用路径发起点。RTC即备用路径上RTD、RTE的上游路由设备,是备用路径的中间节点。RTA即备用路径上RTC上游的路由设备,是备用路径的终止节点。RTB即主用路径上RTD、RTE的上游路由设备,是主用路径的中间节点。RTA即主用路径上RTB的上游的路由设备,是主用路径和备用路径的根节点。举例来说,根节点可以是主备树的聚合点,或者与源直连的路由设备,再或者由用户指定。图4B为本发明再一实施例提供的组播流量的转发方法的流程示意图,如图4B所示,本实施例的组播流量的转发方法可以包括:401~403、RTD、RTE接收第三组播加入消息,发送第一组播加入消息和第一组播加入消息’到RTA;举例来说,RTD、RTE接收到第三组播加入消息之后,可以按照现有技术中的流程,建立主用路径。再举例来说,RTD、RTE接收组播加入消息后,新增主用路径信息,例如树的标识(Treexa0ID),形成第一组播加入消息,并向上游路由设备发送第一组播加入消息,建立主用路径。利用主用路径转发组播流量。路径建立过程此处不再赘述。这里建立的主用路径是主用树。404、RTD、RTE向RTC发送第二组播加入消息。举例来说,第二组播加入消息可以携带主用路径信息,例如树的标识(ID)。上述包含主用路径信息的第二组播加入消息可以利用RFC5384规范在PIM加入报文中新定义一个加入属性实现,上述加入属性可以包含于PIM加入报文中的源地址中,由FLAG标识此加入是否为主备加入。上述加入属性的格式可以如下所示:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|F|E|Attr_Type|xa0xa0xa0xa0Lengthxa0xa0xa0xa0|xa0xa0xa0xa0Flagsxa0xa0xa0xa0|xa0xa0xa0xa0Treexa0Countxa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Treexa0xa0IDxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0......xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Treexa0xa0IDxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+举例来说,标志位F、标志位E、属性类型(Attr_Type)、长度(Length)都使用协议标准定义,此处不再赘述。Attr_Type标识此属性为包含树ID的PIM加入;标志位Flags为此属性的内容,目前只使用一位,由1代表PIM备份加入,0代表PIM主加入报文;Treexa0Count标识Treexa0ID的数量;Treexa0ID标识主用树信息。举例来说,根据RFC5384规范定义,路由设备在发送包含加入属性的PIM加入报文之前,需要先与邻居协商是否支持处理包含树ID属性的PIM加入。此协商是通过路由设备周期性的PIMxa0Hello报文来识别的,若邻居路由设备发送的Hello报文中不包含此PIM扩展属性的Hello选项,则不继续发送包含树ID属性的PIM加入。上述PIM扩展属性的Hello选项的格式可以如下所示:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0OptionTypexa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|xa0xa0xa0xa0xa0xa0xa0xa0xa0OptionLengthxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0OptionValuexa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+其中,选项类型(OptionType)标识此Hello选项为新定义的PIM备份加入属性Hello选项;选项长度(OptionLength)标识此Hello选项的长度,单位为字节,目前此hello选项的长度固定为8个字节;选项数值(OptionValue)为8个字节的预留长度,目前暂未使用,发送时设置为0。举例来说:树ID属性与前面方法提到的备份加入属性结构是一致的,可以统一定义成一个属性。405、RTC判断不存在收到第二组播加入消息创建的组播表项,则继续向RTA转发第二组播加入消息’,RTA为主备树的根节点,则不再继续向上游的路由设备发送组播加入消息,并且收到第二组播加入消息’的出接口不转发组播流量;至此,上述备用路径建立完毕。主用路径正常(未出现故障)的情况下,上述备用路径上的路由设备均不通过备份接口转发组播流量。406、当RTB与RTE之间的链路发生故障,RTB可以通过故障检测技术检测到下游链路故障,获知主用路径的故障信息;可替换地,当RTB与RTE之间的链路发生故障,RTE也可以通过故障检测技术检测到上游链路故障,获知主用路径的故障信息。407、RTB根据主出接口收到的加入报文中携带的所有树ID,发布包含此树ID的主用树的故障信息,即向上述主备树的根节点RTA发送上述主用树的故障信息,以供RTA打开对应的备份树转发组播流量;可替换地,RTE根据主入接口发送的加入报文中携带的所有树ID,发布包含此树ID的主用树的故障信息,即向上述主备树的根节点RTA发送上述主用树的故障信息,以供RTA打开对应的备份树转发组播流量;举例来说,可以通过如下多种方式向上述主备树的根节点RTA发送上述主用路径的故障信息:A、RTE或RTB向整个网络中的路由设备泛洪上述故障信息;这种方案中,主用路径的故障信息可以在通过配置了故障检测与传递的接口在整网中泛洪,直到转发给根节点,即路由设备RTA。B、RTB根据预先设置的故障传递策略,将故障沿着主用树的根节点方向传递。C、RTE根据预先设置的故障传递策略,将故障沿主用树的叶子方向传递,故障到达叶子以后,故障再沿着备份树传递给根节点。举例来说,上述故障信息传递可以通过扩展故障检测协议来实现,可以增加源地址以及路径信息,以BFD协议为例,协议需要扩展如下所示:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Vers|xa0xa0Diagxa0xa0|Sta|P|F|C|A|D|M|xa0xa0xa0xa0Detectxa0Multxa0xa0xa0xa0|xa0xa0xa0Lengthxa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Myxa0Discriminatorxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Yourxa0Discriminatorxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Desiredxa0Minxa0TXxa0Intervalxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Requiredxa0Minxa0RXxa0Intervalxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Requiredxa0Minxa0Echoxa0RXxa0Intervalxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0Typexa0xa0xa0xa0|xa0xa0xa0xa0Lengthxa0xa0xa0xa0|xa0xa0xa0xa0xa0xa0xa0xa0xa0Faultxa0Indicationxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0Treexa0IDxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+其中,版本号(Version)标识版本,由于扩展了BFD报文,因此需要新定义版本号;Type为类型定义;Length为扩展部分的长度;Faultxa0Indication为故障原因,目前暂未使用;Treexa0ID标识主用树信息;其他部分内容编码格式根据RFC5880标准定义。408、RTA根据获知的主用路径的故障信息,利用备用路径转发组播流量,这里,备用路径是备用树。举例来说,RTA接收到故障信息后,根据故障信息中携带的树ID确定对应的备份出接口,通过备份出接口转发组播流量,主出接口停止转发组播流量,RTE、RTD根据获知的主用树的故障信息,通过备份入接口接收上述组播流量且向下转发。可选地,若RTE、RTD未通过主入接口接收组播流量时,继续将备份入接口接收到的流量向下转发。需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。图5为本发明实施例提供的组播流量的转发装置的结构示意图,如图5所示,本实施例的组播流量的转发装置可以包括接收模块51、第一响应模块52、第二响应模块53和发送模块54。其中,接收模块51接收第三组播加入消息,第一响应模块52响应所述第三组播加入消息,向第一上游路由设备发送第一组播加入消息,并建立主用路径,第二响应模块53响应所述第三组播加入消息,向第二上游路由设备发送第二组播加入消息,并建立备用路径,发送模块54通过所述主用路径发送组播流量到所述组播接收者,所述备用路径不转发所模块,用于述组播流量。上述本发明实施例一中方法可以由本发明实施例提供的组播流量的转发装置实现。本实施例通过第二响应模块预先建立不转发组播流量的备用路径,由于备用路径在主用路径正常转发组播流量时不转发组播流量,所以不会占用双倍的网络带宽,从而节省了网络带宽。图6为本发明另一实施例提供的组播流量的转发装置的结构示意图,如图6所示,与上一实施例相比,本实施例的组播流量的转发装置还可以进一步包括转发模块61,用于当所述主用路径发生故障时,通过所述备用路径转发所述组播流量。本实施例通过第二响应模块预先建立不转发组播流量的备用路径,使得在第一响应模块建立的主用路径发生故障时,转发模块能够利用预先建立的备用路径转发组播流量,由于备用路径在主用路径正常转发组播流量时不转发组播流量,所以不会占用双倍的网络带宽,从而节省网络带宽。上述方法实施例中描述的各种具体方案均适用于装置实施例,此处不再赘述。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。